Multi-threaded Active Objects
نویسندگان
چکیده
Active objects offer a paradigm which simplifies writing distributed applications. Since each active object has a single thread of control, data races are prevented. However, this programming model has its limitations: it is deadlockprone, and it is not efficient on multicore machines. To overcome these limitations, we present an extension of the active object model, called multi-active objects, that allows each activity to be multi-threaded. The new model is implemented as a Java library; it relies on method annotations to decide which requests can be run in parallel. It provides implicit parallelism, sparing the programmer from low-level concurrency mechanisms. We define the operational semantics of the multi-active objects and study the basic properties of this model. Finally, we show with two applications that our approach is easy to program and efficient.
منابع مشابه
Toward an architectural pattern language for multi - threading
A design pattern is a grouping of a small number of objects that is likely to be useful again and again. In multi-threaded software, it is a grouping of active and passive objects. A pattern language is a system of patterns organized in a structure that guides their application. This paper proposes a pattern language intended to capture the best practices in the architectural design of multi-th...
متن کاملA Step Toward Automatic Distribution of Java Programs
This article investigates the automatic distribution and parallelization of object-oriented programs. We formally deene a set of properties that allow to turn standard objects into active objects to be distributed on a network (local or wide area). We rst explain a principle of seamless sequential, multi-threaded and distributed programming using Java, that enhances code reuse and code distribu...
متن کاملObject Interconnections Comparing Alternative Programming Techniques for Multi - threaded
Modern OS platforms like Windows NT, and OS/2 and many flavors of UNIX provide extensive library and system call support for multi-threaded applications. However, programming multi-threaded applications is hard and programming distributed multi-threaded applications is even harder. In particular, developers must address sources of accidental and inherent complexity: Accidental complexity of mul...
متن کاملComparing Alternative Programming Techniques for Multi - threaded CORBA Servers ( Column 6 )
Modern OS platforms like Windows NT, and OS/2 and some flavors of UNIX provide extensive library and system call support for multi-threaded applications. However, programming multi-threaded applications is hard and programming distributed multi-threaded applications is even harder. In particular, developers must address sources of accidental and inherent complexity: Accidental complexity of mul...
متن کاملObject Interconnections Comparing Alternative Programming Techniques for Multi - threaded CORBA Servers : Thread Pool ( Column 6 ) Douglas
Modern OS platforms like Windows NT, and OS/2 and many flavors of UNIX provide extensive library and system call support for multi-threaded applications. However, programming multi-threaded applications is hard and programming distributed multi-threaded applications is even harder. In particular, developers must address sources of accidental and inherent complexity: Accidental complexity of mul...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2013